package com.docmgmt.mvp.service;

import com.docmgmt.mvp.dto.AddGroupMembersRequest;
import com.docmgmt.mvp.dto.CreateUserGroupRequest;
import com.docmgmt.mvp.dto.UserGroupVO;
import com.docmgmt.mvp.entity.UserGroupEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 用户组服务接口（USER-006）
 *
 * @author Dora
 */
public interface UserGroupService extends IService<UserGroupEntity> {

    /**
     * 创建用户组
     */
    UserGroupVO createGroup(CreateUserGroupRequest request, Long creatorId);

    /**
     * 查询用户的用户组列表
     */
    List<UserGroupVO> listUserGroups(Long userId);

    /**
     * 添加成员到用户组
     */
    void addMembers(Long groupId, AddGroupMembersRequest request, Long operatorId);

    /**
     * 移除用户组成员
     */
    void removeMember(Long groupId, Long userId, Long operatorId);

    /**
     * 删除用户组
     */
    void deleteGroup(Long groupId, Long operatorId);
}
